<?php

class Adresse{
	

	private $num_adresse;
	private $voie_adresse;
	private $cp_adresse;
	private $ville_adresse;
	
	public function __construct($valeur = array()){
		if(!empty($valeur)){
			$this->affecte($valeur);
		
		}
	}

    public function __toString(){
        return $this->getNumAdresse().' '.$this->getVoieAdresse()."<br/>".
               $this->getCpAdresse(). ' '.$this->getVilleAdresse();
    }
	
		public function affecte($donnees){
		foreach ($donnees as  $attribut => $valeur){
			switch($attribut){
                case 'num_adresse': $this->setNumAdresse($valeur);
                    break;
                case 'voie_adresse': $this->setVoieAdresse($valeur);
                    break;
                case 'cp_adresse': $this->setCpAdresse($valeur);
                    break;
                case 'ville_adresse': $this->setVilleAdresse($valeur);
                    break;
                case 'num_ad_propri': $this->setNumAdresse($valeur);
                    break;
                case 'voie_ad_propri': $this->setVoieAdresse($valeur);
                    break;
                case 'cp_ad_propri': $this->setCpAdresse($valeur);
                    break;
                case 'ville_ad_propri': $this->setVilleAdresse($valeur);
                    break;
                case 'num_ad_immeu': $this->setNumAdresse($valeur);
                    break;
                case 'voie_ad_immeu': $this->setVoieAdresse($valeur);
                    break;
                case 'cp_ad_immeu': $this->setCpAdresse($valeur);
                    break;
                case 'ville_ad_immeu': $this->setVilleAdresse($valeur);
                    break;
                case 'num_ad_pers': $this->setNumAdresse($valeur);
                    break;
                case 'voie_ad_pers': $this->setVoieAdresse($valeur);
                    break;
                case 'cp_ad_pers': $this->setCpAdresse($valeur);
                    break;
                case 'ville_ad_pers': $this->setVilleAdresse($valeur);
                    break;

            }
				
			}
		}
		
    /**
     * @param mixed $voie_adresse
     */
    public function setVoieAdresse($voie_adresse)
    {
        $this->voie_adresse = $voie_adresse;
    }

    /**
     * @return mixed
     */
    public function getVoieAdresse()
    {
        return $this->voie_adresse;
    }

    /**
     * @param mixed $ville_adresse
     */
    public function setVilleAdresse($ville_adresse)
    {
        $this->ville_adresse = $ville_adresse;
    }

    /**
     * @return mixed
     */
    public function getVilleAdresse()
    {
        return $this->ville_adresse;
    }

    /**
     * @param mixed $num_adresse
     */
    public function setNumAdresse($num_adresse)
    {
        $this->num_adresse = $num_adresse;
    }

    /**
     * @return mixed
     */
    public function getNumAdresse()
    {
        return $this->num_adresse;
    }

    /**
     * @param mixed $cp_adresse
     */
    public function setCpAdresse($cp_adresse)
    {
        $this->cp_adresse = $cp_adresse;
    }

    /**
     * @return mixed
     */
    public function getCpAdresse()
    {
        return $this->cp_adresse;
    }
			
	
}

?>